package algorithm.leetcode.medium;

/*
 假设有打乱顺序的一群人站成一个队列，数组 people 表示队列中一些人的属性（不一定按顺序）。
 每个 people[i] = [hi, ki] 表示第 i 个人的身高为 hi ，前面 正好 有 ki 个身高大于或等于 hi 的人。

 */

import java.util.Arrays;
import java.util.LinkedList;

/**
 * @author jack.wu
 * @version 1.0
 * @date 2021/1/11
 */
public class Question406 {

    public static void main(String[] args) {

    }

    public int[][] reconstructQueue(int[][] people) {
        if (people == null) {
            return null;
        }
        Arrays.sort(people, (o1, o2) -> o1[0] == o2[0] ? o1[1] - o2[1] : o2[0] - o1[0]);
        LinkedList<int[]> list = new LinkedList<>();
        for (int[] p : people) {
            list.add(p[1], p);
        }
        return list.toArray(new int[list.size()][2]);
    }
}
